From 4dc47ed7005834de5af42e26987edb703b788506 Mon Sep 17 00:00:00 2001 From: Cody Russell Date: Thu, 10 Jan 2008 20:58:40 +0000 Subject: [PATCH] Properly ref/unref windows and parents. (#506769) 2008-01-10 Cody Russell * gdk/win32/gdkwindow-win32.c: (gdk_window_set_transient_for), Properly ref/unref windows and parents. (#506769) svn path=/trunk/; revision=19344 --- ChangeLog | 5 +++++ gdk/win32/gdkwindow-win32.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 65ab438e91..d65d6d748f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-01-10 Cody Russell + + * gdk/win32/gdkwindow-win32.c: (gdk_window_set_transient_for), + Properly ref/unref windows and parents. (#506769) + 2008-01-10 Richard Hult * gdk/quartz/gdkwindow-quartz.c: (show_window_internal), diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 4fd8ce7a86..8f72780b56 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -1985,6 +1985,8 @@ gdk_window_set_transient_for (GdkWindow *window, trans_impl->transient_children = NULL; } } + g_object_unref (G_OBJECT (window_impl->transient_owner)); + g_object_unref (G_OBJECT (window)); window_impl->transient_owner = NULL; } @@ -1993,8 +1995,10 @@ gdk_window_set_transient_for (GdkWindow *window, parent_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (parent)->impl); parent_impl->transient_children = g_slist_append (parent_impl->transient_children, window); + g_object_ref (G_OBJECT (window)); parent_impl->num_transients++; window_impl->transient_owner = parent; + g_object_ref (G_OBJECT (parent)); } /* This changes the *owner* of the window, despite the misleading -- 2.30.2